perm filename PUMP.HAL[LOU,BGB] blob
sn#117403 filedate 1974-12-08 generic text, type T, neo UTF8
00100 TRANS PP 16.20 33.10 2.20 125.00 90.00 .00
00200 TRANS PH1 15.39 32.54 5.00 -118.30 87.75 94.60
00300 TRANS SCE 30.11 34.50 5.26 149.47 90.00 61.28
00400 TRANS T1 30.78 31.20 5.65 140.75 87.57 50.88
00500 TRANS PS 16.03 29.28 3.00 112.00 90.00 .00
00600 TRANS TOP 20.00 30.00 1.00 180.00 90.00 .00
00700 TRANS G1 26.53 22.86 1.35 -157.16 89.36 8.04
00800 TRANS PA 16.58 27.88 3.00 124.00 90.00 .00
00900 TRANS H1 15.30 32.57 4.97 150.44 90.00 .00
01000 TRANS BRG 23.99 37.27 2.79 -176.24 27.53 1.60
01100 TRANS H2 14.97 34.78 5.00 44.04 90.00 .00
01200 TRANS H3 16.93 35.06 4.67 141.16 90.00 .00
01300 TRANS P1 28.22 30.08 1.97 89.49 89.95 .00
01400 TRANS TP 16.27 33.73 6.59 -102.57 62.20 -1.37
01500 TRANS H4 19.03 34.77 4.60 178.70 90.00 28.65
01600 TRANS P2 28.16 32.22 2.01 91.11 89.97 .00
01700 TRANS H5 18.59 32.77 4.66 23.24 90.00 .00
01800 TRANS LT 26.03 35.16 4.50 5.00 90.00 .00
01900 TRANS H6 17.47 32.99 4.65 39.49 89.98 .00
02000 TRANS SCRW 30.07 36.13 5.50 151.48 90.00 62.30
02100 TRANS SCT 30.10 34.50 3.73 154.35 87.27 66.42
02200 TRANS POST 16.29 33.74 7.50 -157.71 88.55 112.50
02300 TRANS OLET 24.41 35.40 1.77 -178.53 41.56 .46
02400 TRANS GAS 14.88 33.67 5.84 179.04 89.55 .00
02500 TRANS GT 25.95 35.16 5.74 90.00 60.00 90.00
02600 TRANS INTER 24.53 30.53 4.41 -176.20 31.37 1.65
02700 TRANS PH2 15.04 34.64 5.00 -168.07 87.76 146.19
02800
02900
00100 VECT V .00 2.00 .00
00200 VECT A .00 1.00 2.00
00300 VECT TPA 1.00 .00 3.00
00400 VECT X 1.00 .00 .00
00500 VECT ND .00 .00 3.00
00600 VECT Y .00 1.00 .00
00700 VECT Z .00 .00 1.00
00800 VECT T1A .00 .00 3.00
00900 VECT LL .00 .00 .50
01000 VECT F .00 .00 -60.00
01100 VECT PA -1.00 -1.00 1.00
01200 VECT PB 1.00 1.00 1.00
01300 VECT BB .50 1.00 1.00
01400 VECT H1 -.15 .10 3.10
01500 VECT PD -3.00 .00 6.00
01600 VECT H1A .00 -3.00 3.00
01700 VECT H2 -.02 -.07 2.95
01800 VECT K .90 .90 .90
01900 VECT H3 -.05 -.05 3.30
02000 VECT H4 .00 .00 3.30
02100 VECT H3A .00 2.00 3.00
02200 VECT H2A -1.00 1.00 4.00
02300 VECT H5 .00 .00 3.30
02400 VECT H5A .00 -2.00 3.00
02500 VECT H6 -.15 .00 3.30
02600 VECT H4A .00 2.00 3.00
02700 VECT UP .00 .00 6.00
02800 VECT SA .00 -1.00 4.00
02900 VECT H6A .00 -2.00 3.00
03000 VECT TA .00 -2.00 1.00
03100 VECT MV .00 .00 -400.00
03200 VECT FV .00 .00 -60.00
03300 VECT NIL .00 .00 .00
00100 DEFINE JOB ;THIS CALLS ALL THE OTHER MACROS
00200 BEGIN PUMP
00300 ALIGN
00400 PIN P1 PH1
00500 PIN P2 PH2
00600 GASKET
00700 TOP
00800 SCRW1
00900 UNPIN PH1 P1 H1A
01000 UNPIN PH2 P2 H2A
01100 SCRW2
01200 TEST
01300 END
01400
00100 DEFINE ALIGN ;THIS PICKS UP THE PUMP BASE
00200 OPEN 2.25
00300 MERGE
00400 GOTO PS
00500 CENTER .1
00600 SAVE PUMP
00700 OPEN 5
00800 GOTO PA
00900 RESTORE PUMP 1
01000 VECT FV
01100 0 0 -200
01200 STOP FV NIL
01300 CHANGE Z -2 NIL 0 100
01400 CLOSE 2
01500 CONO PA PB 64 30 60
01600 NNUL
01700 MOVE PP X -.5 NIL 0
01800 VECT FV
01900 40 0 0
02000 STOP FV NIL
02100 SPIN 1 Z
02200 VECT V
02300 2 0 0
02400 CONO ND PB 64 0 0
02500 CHANGE V 1 NIL 0 200
02600 VECT FV
02700 0 20 0
02800 STOP FV NIL
02900 VECT FV
03000 60 0 0
03100 FORCE FV NIL
03200 FREE 1 X
03300 SPIN 1 Z
03400 VECT V
03500 0 2 0
03600 CONO ND PB 64 0 0
03700 CHANGE V 1 NIL 0 200
03800 VECT FV
03900 30 30 0
04000 FORCE FV NIL
04100 VECT FV
04200 0 0 -120
04300 STOP FV NIL
04400 FREE 2 X Y
04500 SPIN 1 Z
04600 CONO ND PB 64 0 0
04700 CHANGE Z -1.5 NIL 0 0
04800 OPEN 5
04900 NNUL
05000 CHANGE Z 3 NIL 0 0
05100
00100 DEFINE PIN P H ;PUTS PIN P INTO HOLE H
00200 FLUSH
00300 OPEN 1
00400 GOTO P ;GO TO THE PIN
00500 CLOSE -.1
00600 SAVE P
00700 NNUL
00800 CHANGE Z .7 NIL 0 0 ;LIFT IT OUT
00900 ASSIGN LAND 12
01000 ASSIGN BOTTOM 2
01100 FIND H Z .2 ;PUT IT IN THE HOLE H
01200 SAVE H
01300 OPEN .5
01400 CLOSE -.1 ;AND CHECK THAT IT IS STILL THERE
01500 OPEN 1
01600
01700 DEFINE FIND T D F ;PUTS THINGS IN HOLES
01800 FLUSH
01900 NNUL
02000 GOTO T D F NIL 0 ;GO TO THE HOLE
02100 VECT FV
02200 0 0 -50
02300 SEARCH .1 Z X
02400 CONO LL NIL 0 0 0
02500 DEPART LL
02600 L1: GOTO T D F NIL 0 ;GO TO THE HOLE
02700 STOP FV NIL
02800 NNUL
02900 CHANGE Z -.6 NIL 0 60 ;TRY TO GO DOWN WITHOUT MEETING RESISTANCE
03000 SKIPN 23
03100 JUMP L3
03200 AOJ 1
03300 SOJG LAND L1
03400 JUMP L2
03500 VECT FV
03600 0 0 -60
03700 L3: STOP FV NIL
03800 FREE 2 X Y
03900 NNUL
04000 CHANGE Z -0.7 NIL 0 60 ;SHOULD MEET SOME RESISTANCE
04100 SKIPE 23
04200 JUMP L4
04300 AOJ 1
04400 SOJG BOTTOM L1
04500 L2: WAIT PUT THE PIN IN THE HOLE AND PROCEED
04600 L4: JUMP 1
04700
00100 DEFINE GASKET ;PUTS THE GASKET ON
00200 OPEN .7
00300 MERGE
00400 GOTO G1 ;GO TO THE GASKET
00500 CLOSE -.1
00600 CHANGE Z .5 NIL 0 0 ;PICK IT UP
00700 GOTO GAS ;GO TO THE PUMP
00800 VECT FV
00900 0 0 -40
01000 STOP FV NIL
01100 FREE 2 X Y
01200 NNUL
01300 CHANGE Z -1.5 NIL 0 100 ;AND PUT IT ON CAREFULLY
01400 SKIPE 23
01500 WAIT THE GASKET IS STUCK PUT IT ON AND PROCEED
01600 OPEN 1.5
01700
01800 DEFINE TOP ;PUTS THE TOP ON
01900 CONO NIL NIL 0 0 0
02000 NNUL
02100 GOTO INTER
02200 CONO TA NIL 0 0 0
02300 OPEN 3
02400 MERGE
02500 GOTO BRG
02600 CENTER 1 ;CENTER ON THE BEARING
02700 VECT BB
02800 .5 1 1
02900 CONO TPA BB 32 50 50
03000 DEPART ND
03100 MOVE TP ;MOVE TO THE PUMP
03200 CONO ND BB 32 0 0
03300 VECT FV
03400 0 0 -100
03500 STOP FV NIL
03600 FREE 2 X Y
03700 NNUL
03800 CHANGE Z -2 NIL 0 150 ;PUT IT ON CAREFULLY
03900 SKIPE 23
04000 WAIT FREE THE TOP AND PROCEED
04100 VECT FV
04200 0 0 -40
04300 STOP FV NIL
04400 CONO ND BB 32 0 0
04500 FREE 2 X Y
04600 CHANGE Z -2.5 V 0 100 ;THEN ALL THE WAY ON
04700 OPEN 3
04800 DEPART TPA
04900
00100 DEFINE SS ;PICKS UP THE SCREWDRIVER
00200 OPEN 3
00300 MERGE
00400 GOTO T1 ;WHERE THE TOOL IS
00500 VECT FV
00600 0 0 -60
00700 STOP FV NIL
00800 FREE 1 X
00900 CHANGE Z -2 NIL 0 100 ;PLACE HAND ON TOP OF TOOL
01000 VECT FV
01100 0 0 -300
01200 FORCE FV NIL
01300 VECT FV
01400 0 0 -100
01500 STOP FV NIL
01600 SPIN 1 Z
01700 CHANGE Z -1 NIL 0 0 ;PUSH THE HAND DOWN ON THE TOOL
01800 CLOSE 1
01900 NNUL
02000 CHANGE Z 4 NIL 0 0 ;PICK IT UP
02100 NNUL
02200 CONO SA NIL 0 0 0
02300 DEPART NIL
02400 GOTO SCRW ;AND GO THE THE DISPENSER
02500
02600 DEFINE SB
02700 NNUL
02800 GOTO T1 Z 1 NIL 0
02900 VECT FV
03000 0 0 -300
03100 STOP FV NIL
03200 CHANGE Z -3 NIL 0 100
03300 OPEN 3
03400 NNUL
03500 CHANGE Z 3 NIL 0 100
03600
00100 DEFINE SCRW H A ;STARTS HOLDING SCREWDRIVER AT DISPENSER
00200 ;PICKS UP A SCREW AND DRIVES IT INTO HOLE H
00300 ;USING APPROACH A
00400 FLUSH
00500 ASSIGN SCREW 4 ;NUMBER OF TIMES TO TRY TO PICK UP SCREW
00600 JUMP 2
00700 L4: GO SCRW
00800 PLACE
00900 VECT F
01000 0 20 -100
01100 FREE 2 Y Z
01200 FORCE F NIL
01300 NNUL
01400 SCREW -20
01500 MERGE
01600 DRIVE 1 0 30 ;PUSH THE SCREWDRIVER AGAINST THE DISPENSER
01700 ;AND DOWN ON THE SCREW AS IT ROTATES
01800 VECT FV
01900 0 0 -50
02000 STOP FV NIL
02100 VECT FV
02200 0 0 -100
02300 FORCE FV NIL
02400 WOBBLE .2
02500 CHANGE Z -.5 NIL 0 10 ;PUSH THE SCREWDRIVER INTO THE SCREW HEAD
02600 FREE 2 X Y
02700 CHANGE Z .20 NIL 0 120 ;LIFT THE SCREW UP OVER THE END STOP
02800 NNUL
02900 FREE 1 X
03000 VECT F
03100 0 -20 0
03200 STOP F NIL
03300 CONO ND NIL 0 100 100
03400 GO SCE ;AND TAKE IT OUT
03500 SKIPN 23
03600 JUMP L3 ;NO EXCESSIVE FORCE SO PROCEED
03700 ASSIGN PULL 3 ;TIMES TO TRY PULLING OUT
03800 L2: WOBBLE .5
03900 VECT FV
04000 0 0 100
04100 STOP FV NIL
04200 CHANGE Z 1 NIL 0 0
04300 SKIPN 23
04400 JUMP L5 ;CAME OUT FINE
04500 SOJG PULL L2 ;TOO MUCH FORCE TRY AGAIN
04600 JUMP L6 ;DO IT BY HAND
04700 L5: SOJG SCREW L4
04800 JUMP L6
04900 VECT F
05000 0 0 -60
05100 L3: STOP F NIL ;DRIVER CAME OUT CHECK IF IT HAS SCREW
00100 GO SCT
00200 SKIPE 23
00300 JUMP L7 ;ALL OK GO TO HOLE
00400 NNUL
00500 GOTO SCRW ;GO BACK TO BEGINNING
00600 SOJG SCREW L4
00700 L6: WAIT FREE THE SCREW DRIVER PUT A SCREW ON ITS END AND PROCEED
00800 CONO A NIL 0 0 0
00900 L7: ASSIGN LAND 12
01000 ASSIGN BOTTOM 3
01100 FIND H H 1 ;FIND THE HOLE
01200 FREE 3 X Y Z
01300 VECT FV
01400 0 0 -60
01500 VECT MV
01600 0 0 -100
01700 STOP NIL MV
01800 FORCE FV NIL
01900 SCREW -60
02000 MERGE
02100 CHANGE NIL 0 NIL 0 100 ;AND DRIVE IN THE SCREW
02200 SKIPE 23
02300 JUMP 1
02400 ASSIGN OUT 10
02500 L1: FREE 2 X Y
02600 SPIN 3 X Y Z
02700 WOBBLE .5
02800 CHANGE Z .3 NIL 0 100 ;PULL THE DRIVER OUT A LITTLE
02900 VECT FV
03000 0 0 100
03100 STOP FV NIL
03200 NNUL
03300 CHANGE Z 1 NIL 0 50 ;AND THEN A BIT MORE BUT STOP IF STUCK IN PUMP
03400 SKIPN 23
03500 JUMP L8
03600 SOJG OUT L1
03700 WAIT FREE THE SCREW DRIVER AND PROCEED
03800 L8: JUMP 1
03900
00100 DEFINE UNPIN H P A ;TAKES PIN P OUT OF HOLE H USING APPROACH A
00200 FLUSH
00300 OPEN 1
00400 MERGE
00500 CONO A NIL 0 0 0
00600 GOTO H Z .3 NIL 0 ;GO TO THE PIN IN HOLE H
00700 RESTORE H 0
00800 L1: CLOSE -1 ;GRASP IT
00900 VECT FV
01000 0 0 100
01100 STOP FV NIL
01200 CHANGE Z 1.0 NIL 0 50 ;TRY TO PULL IT OUT
01300 SKIPN 23
01400 JUMP L2
01500 OPEN 1 ;TOO MUCH FORCE, LET GO AND TRY AGAIN
01600 GO H Z .3 NIL 0
01700 RESTORE H 0
01800 JUMP L1
01900 DEPART A
02000 L2: GOTO P Z .7 NIL 0
02100 RESTORE P 1
02200 VECT FV
02300 0 0 -40
02400 STOP FV NIL
02500 CHANGE Z -1 NIL 0 60
02600 OPEN 1
02700
02800 DEFINE TEST ;TURNS THE PUMP OVER
02900 FLUSH
03000 OPEN 2
03100 MERGE
03200 GOTO POST
03300 CENTER .2
03400 OPEN 1
03500 DRIVE 6 120 0
03600 CENTER .2
03700 OPEN 1
03800 DRIVE 6 120 0
03900 CENTER .2
04000 VECT MV
04100 0 0 -400
04200 STOP NIL MV
04300 FREE 2 X Y
04400 SPIN 2 X Y
04500 DRIVE 6 360 220
04600 SKIPN 23
04700 JUMP L1
04800 WAIT THE PUMP FAILS THE TORQUE TEST PROCEED TO PARK THE ARM
04900 L1: OPEN 2
05000 PARK
05100
00100 DEFINE SCRW1 ;PUTS IN THE FIRST TWO SCREWS
00200 SS
00300 SCRW H4 H4A
00400 DEPART H4A
00500 CONO SA NIL 0 0 0
00600 NNUL
00700 GOTO SCRW
00800 SCRW H5 H5A
00900 DEPART H5A
01000 SB
01100
01200 DEFINE SCRW2 ;PUTS IN THE LAST FOUR SCREWS
01300 SS
01400 SCRW H1 H1A
01500 CONO SA NIL 0 0 0
01600 DEPART H1A
01700 NNUL
01800 GOTO SCRW
01900 SCRW H2 H2A
02000 CONO SA NIL 0 0 0
02100 DEPART H2A
02200 NNUL
02300 GOTO SCRW
02400 SCRW H3 H3A
02500 CONO SA NIL 0 0 0
02600 DEPART H3A
02700 NNUL
02800 GOTO SCRW
02900 SCRW H6 H6A
03000 CONO T1A NIL 0 0 0
03100 DEPART H6A
03200 SB
03300